<template>
  <el-table-column :sortable="props.sortable" :prop="props.property" :label="props.label" :width="props.width"
                   class-name="no-padding">
    <template #default="{row, column, $index}">
      <label @click.stop>
        <table-rate :change="props.change" :row="row"
                    :property="props.property" :value="row[props.property]"
                    :allow-half="props.allowHalf"></table-rate>
      </label>
    </template>
  </el-table-column>
</template>

<script setup lang="ts">
/* eslint-disable */
import TableRate from "./table-rate.vue";

/**
 * 表格行级评分组件
 */
const props = defineProps({
    // 字段名
    property: String
    // 列名
    , label: String
    // 数据变化事件
    , change: {type: Function}

    // 宽度
    , width: {type: [Number, String], default: undefined}
    // 是否可排序
    , sortable: {type: [Boolean, String], default: false}

    // 数据字典
    , options: {type: Array, default: undefined}
    // 是否允许半星
    , allowHalf: {type: Boolean, default: false}
});
</script>
